diff --git a/user_guide/general/common_functions.html b/user_guide/general/common_functions.html
index 132287c..c04144a 100644
--- a/user_guide/general/common_functions.html
+++ b/user_guide/general/common_functions.html
@@ -111,7 +111,7 @@
 &nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
 <a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
 <a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-Next Topic:&nbsp;&nbsp;<a href="scaffolding.html">Scaffolding</a></p>
+Next Topic:&nbsp;&nbsp;<a href="routing.html">URI Routing</a></p>
 <p><a href="http://codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006-2010 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">Ellislab, Inc.</a></p>
 </div>
 
diff --git a/user_guide/general/hooks.html b/user_guide/general/hooks.html
index 1cda08e..4407238 100644
--- a/user_guide/general/hooks.html
+++ b/user_guide/general/hooks.html
@@ -143,8 +143,6 @@
 			use your own display methodology.  Note that you will need to reference the CI superobject with <dfn>$this->CI =&amp; get_instance()</dfn> and then the finalized data will be available by calling <dfn>$this->CI->output->get_output()</dfn></li>
 		<li><strong>cache_override</strong><br />
 			Enables you to call your own function instead of the <dfn>_display_cache()</dfn> function in the output class.  This permits you to use your own cache display mechanism.</li>
-		<li><strong>scaffolding_override</strong><br />
-			Permits a scaffolding request to trigger your own script instead.</li>
 		<li><strong>post_system</strong><br />
 			Called after the final rendered page is sent to the browser, at the end of system execution after the finalized data is sent to the browser.</li>
 	</ul>
diff --git a/user_guide/general/reserved_names.html b/user_guide/general/reserved_names.html
index 8abfbe6..5737327 100644
--- a/user_guide/general/reserved_names.html
+++ b/user_guide/general/reserved_names.html
@@ -67,7 +67,6 @@
 	<li>Controller</li>
 	<li>CI_Base</li>
 	<li>_ci_initialize</li>
-	<li>_ci_scaffolding</li>
 	<li>Default (PHP 5)</li>
 	<li>index</li>
 </ul>
@@ -85,14 +84,12 @@
 	<li>language</li>
 	<li>library</li>
 	<li>model</li>
-	<li>scaffolding</li>
 	<li>script</li>
 	<li>view</li>
 	<li>vars</li>
 	<li>_ci_assign_to_models</li>
 	<li>_ci_autoloader</li>
 	<li>_ci_init_class</li>
-	<li>_ci_init_scaffolding</li>
 	<li>_ci_is_instance</li>
 	<li>_ci_load</li>
 	<li>_ci_load_class</li>
diff --git a/user_guide/general/routing.html b/user_guide/general/routing.html
index 85e91af..402e50a 100644
--- a/user_guide/general/routing.html
+++ b/user_guide/general/routing.html
@@ -145,11 +145,6 @@
 when people load your root URL. In the above example, the "welcome" class would be loaded.  You
 are encouraged to always have a default route otherwise a 404 page will appear by default.</p>
 
-<code>$route['scaffolding_trigger'] = 'scaffolding';</code>
-
-<p>This route lets you set a secret word, which when present in the URL, triggers the scaffolding feature.
-Please read the <a href="scaffolding.html">Scaffolding</a> page for details.</p>
-
 <p class="important"><strong>Important:</strong>&nbsp; The reserved routes must come before any wildcard or regular expression routes.</p>
 
 </div>
@@ -158,7 +153,7 @@
 
 <div id="footer">
 <p>
-Previous Topic:&nbsp;&nbsp;<a href="scaffolding.html">Scaffolding</a>
+Previous Topic:&nbsp;&nbsp;<a href="common_functions.html">Common Functions</a>
 &nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
 <a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
 <a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
diff --git a/user_guide/general/scaffolding.html b/user_guide/general/scaffolding.html
deleted file mode 100644
index b7217f2..0000000
--- a/user_guide/general/scaffolding.html
+++ /dev/null
@@ -1,147 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<title>Scaffolding : CodeIgniter User Guide</title>
-
-<style type='text/css' media='all'>@import url('../userguide.css');</style>
-<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />
-
-<script type="text/javascript" src="../nav/nav.js"></script>
-<script type="text/javascript" src="../nav/prototype.lite.js"></script>
-<script type="text/javascript" src="../nav/moo.fx.js"></script>
-<script type="text/javascript" src="../nav/user_guide_menu.js"></script>
-
-<meta http-equiv='expires' content='-1' />
-<meta http-equiv= 'pragma' content='no-cache' />
-<meta name='robots' content='all' />
-<meta name='author' content='ExpressionEngine Dev Team' />
-<meta name='description' content='CodeIgniter User Guide' />
-
-</head>
-<body>
-
-<!-- START NAVIGATION -->
-<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
-<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker.jpg" width="154" height="43" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
-<div id="masthead">
-<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
-<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.0</h1></td>
-<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
-</tr>
-</table>
-</div>
-<!-- END NAVIGATION -->
-
-
-<!-- START BREADCRUMB -->
-<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
-<tr>
-<td id="breadcrumb">
-<a href="http://codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
-<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
-Scaffolding
-</td>
-<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>
-</tr>
-</table>
-<!-- END BREADCRUMB -->
-
-<br clear="all" />
-
-
-<!-- START CONTENT -->
-<div id="content">
-
-<h1>Scaffolding</h1>
-
-<p class="important">Scaffolding has been deprecated from CodeIgniter as of 1.6.0.</p>
-
-<p>CodeIgniter's Scaffolding feature provides a fast and very convenient way to add, edit, or delete information in your database
-during development.</p>
-
-<p class="important"><strong>Very Important:</strong>  Scaffolding is intended for development use only.  It provides very little
-security other than a "secret" word, so anyone who has access to your CodeIgniter site can potentially edit or delete your information.
-If you use scaffolding make sure you disable it immediately after you are through using it.  DO NOT leave it enabled on a live site.
-And please, set a secret word before you use it.</p>
-
-<h2>Why would someone use scaffolding?</h2>
-
-<p>Here's a typical scenario:  You create a new database table during development and you'd like a quick way to insert some data
-into it to work with.  Without scaffolding your choices are either to write some inserts using the command line or to use a
-database management tool like phpMyAdmin.  With CodeIgniter's scaffolding feature you can quickly add some data using its browser
-interface.  And when you are through using the data you can easily delete it.</p>
-
-<h2>Setting a Secret Word</h2>
-
-<p>Before enabling scaffolding please take a moment to set a secret word.  This word, when encountered in your URL,
-will launch the scaffolding interface, so please pick something obscure that no one is likely to guess.</p>
-
-<p>To set a secret word, open your <kbd>application/config/routes.php</kbd> file and look for this item:</p>
-
-<code>$route['scaffolding_trigger'] = '';</code>
-
-<p>Once you've found it add your own unique word.</p>
-
-<p class="important"><strong>Note:</strong> The scaffolding word can <strong>not</strong> start with an underscore.</p>
-
-
-<h2>Enabling Scaffolding</h2>
-
-<p>Note: The information on this page assumes you already know how <a href="controllers.html">controllers</a> work, and that you have
-a working one available.  It also assumes you have configured CodeIgniter to auto-connect to your <a href="../database/index.html">database</a>.
-If not, the information here won't be very relevant, so you are encouraged to go through those sections first.
-Lastly, it assumes you understand what a class constructor is.  If not, read the last section of the <a href="controllers.html">controllers</a>
-page.</p>
-
-<p>To enable scaffolding you will initialize it in your constructor like this:</p>
-
-<code>
-&lt;?php<br />
-class Blog extends Controller {<br />
-<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function Blog()<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parent::Controller();<br /><br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<samp>$this->load->scaffolding(</samp><kbd>'table_name'</kbd>);<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
-}<br />
-?&gt;</code>
-
-<p>Where <kbd>table_name</kbd> is the name of the table (table, not database) you wish to work with.</p>
-
-<p>Once you've initialized scaffolding, you will access it with this URL prototype:</p>
-
-<code>example.com/index.php/<var>class</var>/<dfn>secret_word</dfn>/</code>
-
-<p>For example, using a controller named <var>Blog</var>, and <dfn>abracadabra</dfn> as the secret word,
-you would access scaffolding like this:</p>
-
-<code>example.com/index.php/<var>blog</var>/<dfn>abracadabra</dfn>/</code>
-
-<p>The scaffolding interface should be self-explanatory.  You can add, edit or delete records.</p>
-
-
-<h2>A Final Note:</h2>
-
-<p>The scaffolding feature will only work with tables that contain a primary key, as this is information is needed to perform the various
-database functions.</p>
-
-
-</div>
-<!-- END CONTENT -->
-
-
-<div id="footer">
-<p>
-Previous Topic:&nbsp;&nbsp;<a href="common_functions.html">Common Functions</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-Next Topic:&nbsp;&nbsp;<a href="routing.html">URI Routing</a></p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006-2010 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">Ellislab, Inc.</a></p>
-</div>
-
-</body>
-</html>
\ No newline at end of file
